package cn.fl.splrate.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.base.splrate.transform.BaseParseTempFileRecVOTransform;
import cn.fl.splrate.vo.ParseTempFileRecVO;
import fl.spl.facade.splrate.dto.ParseTempFileRecDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 解析模板文件记录表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class ParseTempFileRecVOTransform extends BaseParseTempFileRecVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto ParseTempFileRecDTO
     * @return ParseTempFileRecVO
     */
    public static ParseTempFileRecVO toVO(ParseTempFileRecDTO dto) {
        ParseTempFileRecVO vo = baseToVO(dto);
        //设置自定义扩展属性
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo ParseTempFileRecVO
     * @return ParseTempFileRecDTO
     */
    public static ParseTempFileRecDTO toDTO(ParseTempFileRecVO vo) {
        ParseTempFileRecDTO dto = baseToDTO(vo);
        //设置自定义扩展属性
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<ParseTempFileRecDTO>
     * @return List<ParseTempFileRecVO>
     */
    public static List<ParseTempFileRecVO> toVOList(List<ParseTempFileRecDTO> list) {
        List<ParseTempFileRecVO> voList = null;
        if (CollectionUtils.isNotEmpty(list)) {
            voList = new ArrayList<ParseTempFileRecVO>(list.size());
            for (ParseTempFileRecDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<ParseTempFileRecVO>
     * @return List<ParseTempFileRecDTO>
     */
    public static List<ParseTempFileRecDTO> toDTOList(List<ParseTempFileRecVO> list) {
        List<ParseTempFileRecDTO> dtoList = null;
        if (CollectionUtils.isNotEmpty(list)) {
            dtoList = new ArrayList<ParseTempFileRecDTO>(list.size());
            for (ParseTempFileRecVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
